import { DIRECTION_ENUM, ENTITY_STATE_ENUM, ENTITY_TYPE_ENUM, TILE_TYPE_ENUM } from 'db://assets/Enum';
import level1 from 'db://assets/Levels/Level1';
import level2 from 'db://assets/Levels/Level2';
import level3 from 'db://assets/Levels/Level3';
import level4 from 'db://assets/Levels/Level4';

export interface IEntity{
  x: number;
  y: number;
  state: ENTITY_STATE_ENUM;
  direction: DIRECTION_ENUM;
  type: ENTITY_TYPE_ENUM;
}

export interface ISpikes{
  x: number;
  y: number;
  totalCnt: number;
  currentCnt: number;
}

export interface ITile{
  src: number | null;
  type: TILE_TYPE_ENUM | null;
}

export interface ILevel{
  mapInfo: Array<Array<ITile>>;
  player: IEntity
  enemies: IEntity[]
  spikes: ISpikes[]
  bursts: IEntity[]
  door: IEntity
}

const levels: Record<string, ILevel> = {
  level1,
  level2,
  level3,
  level4,
};

export default levels;
